Skip to content

Version 0.15.0#1301

Merged
lovelydinosaur merged 10 commits intomasterfrom
version-0.15.0
Sep 22, 2020
Merged

Version 0.15.0#1301
lovelydinosaur merged 10 commits intomasterfrom
version-0.15.0

Conversation

@lovelydinosaur
Copy link
Contributor

@lovelydinosaur lovelydinosaur commented Sep 21, 2020

Pushing this up so that we can figure out what else we want to block a 0.15 release on.

At the moment my thoughts would be...

  • Change the Transport API to .request, .arequest, since it'll otherwise end up blocking other work.
  • Possibly also switching the transport API to request(method, url, headers, stream, ext) -> status_code, headers, stream, ext. See https://github.com/encode/httpx/issues/1274#issuecomment-694884553 - Might need discussion, but it's an easy switch to make, and better to make it sooner rather than later.
  • Possibly get in the CLI. Because it's lovely, and might be a nice driver of adoption. Add an HTTPX cli. 😇 #1212
  • Go through an escalate any deprecations that we've got in the codebase into outright removals.

I think other stuff can wait for nice smaller increments in the 0.15.x series. The only remaining API changes expected at that point are the possible transport API -> transport API as a context manager switch, and some very minor review over all the model classes. (Note that URL is now complete in this regard.)

What do we think, and am I missing anything critical here?

0.15.0

Added

Changed

  • Cleaned up expected behaviour for URL escaping. url.path is now URL escaped. (Pull Finesse URL properties #1285)
  • Cleaned up expected behaviour for bytes vs str in URL components. url.userinfo and url.query are not URL escaped, and so return bytes. (Pull Finesse URL properties #1285)
  • Drop url.authority property in favour of url.netloc, since "authority" was semantically incorrect. (Pull Finesse URL properties #1285)
  • Drop url.full_path property in favour of url.raw_path, for better consistency with other parts of the API. (Pull Finesse URL properties #1285)
  • No longer use the chardet library for auto-detecting charsets, instead defaulting to a simpler approach when no charset is specified. (Drop chardet #1269)

Fixed

Removed

@lovelydinosaur lovelydinosaur added the release A new package release label Sep 21, 2020
Co-authored-by: Jamie Hewland <jamie.hewland@hpe.com>
@florimondmanca
Copy link
Contributor

florimondmanca commented Sep 21, 2020

Sounds good to me, great one!

@lovelydinosaur
Copy link
Contributor Author

Right, let's keep the CLI separate. No good reason for us to bog ourselves down in a whole extra layer of API considerations (eg. which flags do we support on the command line) when we're so very close to a 1.0 release now.

I'm going to push on again, and get this released.

Where does this leave us after this?...

Our 1.0 milestone is here.

  • There's one significantly complex bug that needs resolving in httpcore around connection pooling. https://github.com/encode/httpx/issues/1171 - It'll be a decent chunk of work, and it's right in the guts of things, so I want to deal with this in a dedicated httpcore minor point release, that should only include that bugfix and nothing else. Eg. 0.11.1, or wherever we're at.
  • Review any other bug-labelled tickets.
  • Mount API, httpx.HTTPTransport, httpx.MockTransport - #977, #1302, #1303 are all in the same area. I figure we'll have a minor httpx release that's dedicated just to adding those, and sprucing up our docs on mounting transports etc.
  • chunk_size #394 - We've got an outstanding PR for this, but I'd like to pull it in, in it's own minor point release. Since all response.text/response.content runs through that code I'd like it to be really nicely isolated from any other changes, just in case we needed to very quickly identify any unexpected problems.
  • Tightening public API on models. #1275 I think this might just be Cookies that's left to review here now.
  • Preserving HTTP Header casing. Blocked on Preserve header casing. Take two. 🎬 python-hyper/h11#104
  • Retries #1141
  • Transport API as a context manager. Our last API change still to be made. Add support for streaming responses to ASGITransport #998 and #1274

We'll then also want to go through the API docs, and make sure that all the public API is being properly exposed in the docs.

@lovelydinosaur lovelydinosaur merged commit f932af9 into master Sep 22, 2020
@lovelydinosaur lovelydinosaur deleted the version-0.15.0 branch September 22, 2020 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release A new package release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants